package com.pay.model.interface_parameter;

import com.pay.utils.validate.vali_annotation.BaseValidate;
import com.pay.utils.validate.vali_annotation.DoubleIllegal;
import com.pay.utils.validate.vali_annotation.IntegerIllegal;
import com.pay.utils.validate.vali_annotation.RequireField;


/**
 * 支付宝 手机H5支付
 *
 * @author MENG
 * @version 2019/3/4
 * @see
 */
public class AlipayMobileWebParam extends BaseValidate
{
    /**
     * 支付宝分配给开发者的应用ID
     */
    @RequireField
    private String appId;           //应用ID

    /**
     * 支付宝 开发者应用的私钥
     */
    @RequireField
    private String privateKey;      //私钥

    /**
     * 支付宝的公钥（非开发者应用的公钥）
     */
//    @RequireField
//    private String publicKey;       //公钥

    /**
     * 支付宝服务器主动通知商户服务器里指定的页面http/https路径。GET
     */
    @RequireField
    private String returnUrl;

    /**
     * 支付宝服务器主动通知商户服务器里指定的页面http/https路径。
     */
    @RequireField
    private String notifyUrl;

    /**
     * 订单号 唯一（应用程序中）
     */
    @RequireField
    private String orderNo;//

    /**
     * 订单价格（应用程序中）
     */
    @RequireField
    @DoubleIllegal
    private String totalAmount;

    /**
     * 订单描述（应用程序中）
     */
    @RequireField
    private String subject;

    /**
     * 该笔订单允许的最晚付款时间，逾期将关闭交易。
     *
     * 单位:分钟
     */
    @RequireField
    @IntegerIllegal
    private String timeoutExpress;

    public String getAppId()
    {
        return appId;
    }

    public void setAppId(String appId)
    {
        this.appId = appId;
    }

    public String getPrivateKey()
    {
        return privateKey;
    }

    public void setPrivateKey(String privateKey)
    {
        this.privateKey = privateKey;
    }

    public String getNotifyUrl()
    {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl)
    {
        this.notifyUrl = notifyUrl;
    }

    public String getOrderNo()
    {
        return orderNo;
    }

    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getTotalAmount()
    {
        return totalAmount;
    }

    public void setTotalAmount(String totalAmount)
    {
        this.totalAmount = totalAmount;
    }

    public String getSubject()
    {
        return subject;
    }

    public void setSubject(String subject)
    {
        this.subject = subject;
    }

    public String getTimeoutExpress()
    {
        return timeoutExpress;
    }

    public void setTimeoutExpress(String timeoutExpress)
    {
        this.timeoutExpress = timeoutExpress;
    }

    public String getReturnUrl()
    {
        return returnUrl;
    }

    public void setReturnUrl(String returnUrl)
    {
        this.returnUrl = returnUrl;
    }
}
